package com.ylbh.modules.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.pojo.business.dto.BusinessDetailsDTO;
import com.ylbh.common.pojo.business.dto.NoAdoptDTO;
import com.ylbh.common.pojo.business.dto.ToExamineDTO;
import com.ylbh.common.pojo.business.vo.GetUserInfoVO;
import com.ylbh.common.pojo.business.vo.ToExamineDetailsVO;
import com.ylbh.common.pojo.finance.dto.FinanceDTO;
import com.ylbh.common.pojo.finance.dto.FinanceDetailsDTO;
import com.ylbh.common.pojo.finance.dto.FinanceListDTO;
import com.ylbh.common.pojo.finance.vo.FinanceDetailsVO;
import com.ylbh.common.utils.PageUtils;
import com.ylbh.modules.business.entity.ShoppingUser;

import java.util.List;

/**
 *
 *
 * @author czx
 * @date 2019-04-15 15:35:45
 */
public interface ShoppingUserService extends IService<ShoppingUser> {


    /**
     * 联盟店审核列表
     * @param toExamineListDTO
     * @return
     */
    PageUtils queryBusinessList(ToExamineDTO toExamineListDTO);

    /**
     * 联盟店未审核数量
     * @return
     */
    int queryCount();

    /**
     * 允许联盟店通过审核
     * @param id
     */
    void modifyStatusById(Long id);

    /**
     * 不允许联盟店通过审核
     * @param noAdopt
     */
    void modifyStatusByIds(NoAdoptDTO noAdopt);

    /**
     * 批量删除
     * @param id
     */
    void removeBatchByIds(List<String> id);

    /**
     * 根据id查询联盟店的详情
     * @param id
     * @return
     */
    ToExamineDetailsVO getBusinessUserById(Long id);

    /**
     * 运营打款列表
     * @param financeListDTO
     * @return
     */
    PageUtils queryFinanceList(FinanceListDTO financeListDTO);

    /**
     * 运营打款详情
     * @param id
     * @return
     */
    FinanceDetailsVO getFinanceById(Long id);

    /**
     * 修改商家详情
     * @param financeDetailsVO
     */
    void modifyFinanceById(FinanceDetailsDTO financeDetailsDTO);

    /**
     * 给用户打款
     * @param financeDTO
     */
    String modifyMoneyById(FinanceDTO financeDTO);

    /**
     * 批量审核
     * @param ids
     * @param batch
     */
    void modifyBatchByIds(List<String> ids, Integer batch);

    /**
     * 根据id修改联盟店审核的详情
     * @param businessDetailsDTO
     */
    void modifyBusinessUserById(BusinessDetailsDTO businessDetailsDTO);

    /**
     * 修改联盟店的满送类型
     * @param id
     * @param payFullSendType
     * @return
     */
    String modifyPayFullSendById(Long id, Integer payFullSendType);

    /**
     * 员工积分充值
     * @param id
     * @param integral
     * @param userName
     * @return
     */
    boolean   updateIntegral(String userName, String id, Integer integral);

    /**
     * 查用户变动后的积分
     * @param userName
     * @return
     */
    GetUserInfoVO getUserInfoByUserName(String userName);

    /**
     * 用户积分变动记录
     * @param userVo
     * @param ylbhId
     * @return
     */
    void updateLog(GetUserInfoVO userVo, String ylbhId, Integer integral);
}

